The present invention relates generally to USB networking, and more specifically to reducing the power consumed by data transfers initiated by a number of USB host controllers.
Universal Serial Bus (USB) networks have become the most popular paths for data transmission between computers and peripheral devices. Specifically, USB networks are used as personal-area wired networks to transfer data between a desktop, notebook or other computer system and devices such as printers, scanners, cameras, speakers, mice, keyboards, and hard disks. Computers typically have several USB ports, which operate under the direction of a number of host controllers. Each port may be extended further using one or more hubs. The original USB concept envisioned many devices daisy chained to one USB port. In practice USB ports have become so ubiquitous that often no more than one device is connected to each port.
Currently, the USB2 standard has become very popular, replacing the USB1 standard, with which it is backward compatible. USB2 supports data transfer rates of 480 Mb/s, the so called “high speed” rate, while USB1 supports 12 Mb/s, “full speed” and 1.5 Mb/s, “low speed” rates. Typically, peripheral devices such as mice and keyboards operate at a lower speed to reduce component costs, while higher bandwidth devices, such as camcorders, operate at the high speed.
These peripheral devices operate as slave devices on the USB bus. That is, they must be queried by the USB host controller as to whether they have data to provide. For example, a mouse is periodically asked by the USB controller whether it has been moved. In order to ask the mouse whether it has moved, the USB controller need to read data, such as a bus address, from a system memory. These memory reads consume power, particularly when one or more devices needs to be woken from a low power or sleep state. Also, reading data from a memory generates voltage transitions at device pins and board traces. These transitions appear across various stray capacitances, thus they generate currents, which causes power to be dissipated.
This power dissipation is undesirable, particularly in battery powered devices, such as laptop computers. Thus, what is needed are circuits, methods, and apparatus that reduce the power consumed by these memory reads.